// pages/circleMemberInvite/circleMemberInvite.js
import api from "../../config/api";
import { shareOptions } from "../../utils/access";
import request from "../../utils/request";
import { jump } from "../../utils/utils";

Page({

  /**
   * 页面的初始数据
   */
  data: {
    circleId: '', //圈子id
    auth: false, //是否有成员操作权限 
    isOwner: false, //是否是圈主
    search:'',//搜索内容
    page: 1,
    total: 0,
    isDone: false,
    list: [], //圈子列表数据
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    this.setData({
      circleId: options.circleId,
      auth: options.auth,
      isOwner: options.isOwner
    })
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },
  //搜索值改变
  searchInput(e){
    this.setData({
      search: e.detail.value
    })
  },
  //搜索
  searchClick(){
    if(this.data.search==='') return
    this.setData({
      page: 1,
      isDone: false
    })
    this.getList(1)
  },
    /**
   * 获取列表
   * @param {*} page 当前页
   */
  async getList(page){
    if(this.data.search===''){
      wx.stopPullDownRefresh()
      return
    } 
    const res=await request.get(api.circleMember,{
        id: this.data.circleId,
        str: this.data.search,
        page,
        size: 10
     }, {loading: false})
    if(res.httpStatus==200){
     this.setData({
       list: page === 1 ? res?.data?.records : [
         ...this.data.list,
         ...res?.data?.records,
       ],
       total: res?.data?.pages
     })
    }
     wx.stopPullDownRefresh()
   },
  // 跳转到用户主页
  jumpHome(e){
    if(e.currentTarget.dataset?.id){
      jump('home', { id: e.currentTarget.dataset.id})
    }
  },
  // 已申请状态点击，跳转到系统通知待处理
  jumpSysMessage(){
    jump('sysMessage')
  },
  // 邀请成员
  async inviteClick(e){
    if (this.loading) return
    this.loading = true
    let res= await request.get(api.circleInviteUser,{ circleId: this.data.circleId , userId: e.currentTarget.dataset.id},{loading:false})
    if(res.httpStatus == 200){
      let list= this.data.list
      if(res.data=='邀请成功'){
         list[e.currentTarget.dataset.index].status=3
      }else if(res.data=='加入成功'){
         list[e.currentTarget.dataset.index].status=5
      }
      this.setData({
        list
      })
     }
     this.loading = false
  },
  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {
    this.setData({
      page: 1,
      isDone: false,
    })
    this.getList(1)
  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {
    let { page, total } = this.data
    if (page < total) {
      page++
      this.setData({
        page
      })
      this.getList(page)
    } else {
      this.setData({
        isDone: true
      })
    }
  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function (e) {
    return shareOptions('default', e)
  }
})